Mountpoint for Amazon S3でEC2からS3をローカルディレクトリとして操作してみた

Mountpoint for Amazon S3でEC2からS3をローカルディレクトリとして操作してみた

Clock Icon2024.12.30

はじめに

かつまたです。学習の一環としてMountpoint for Amazon S3を用いてEC2上でマウントしたS3バケットの操作を実施してみたので手順をご紹介します。

Mountpoint for Amazon S3とは

Mountpoint for Amazon S3はS3バケットをLinuxファイルシステムとしてEC2やECSにマウントできるオープンソースのツールです。
これにより、S3バケットをローカルディレクトリのように扱い、操作することができます。
以下Githubにて公開されています。
https://github.com/awslabs/mountpoint-s3

やってみた

前提条件

  • S3バケット作成済み
  • 適切なIAMロール作成済み(AmazonS3FullAccess)

EC2作成

S3をマウントするEC2を作成します。
1.Amazon Linux 2023を選択します。SSHのインバウンドを許可したセキュリティグループを設定します。
スクリーンショット 2024-12-27 13.31.18.png

2.「高度な詳細」→「IAMインスタンスプロファイル」から作成したIAロール(AmazonS3FullAccess付与)を選択します。
image.png

Mountpoint for Amazon S3インストール

1.Linux2023の場合以下のコマンドによりMountpoint for Amazon S3をインストールします。

wget https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm
sudo yum install -y ./mount-s3.rpm

2.事前に用意してあるS3バケットをマウントします

mkdir /mnt/s3
mount-s3 バケット名 /mnt/s3

3.マウントが成功した場合以下の出力がされます

bucket mountpoint-for-s3-test is mounted at /mnt/s3

動作確認

1.適当なファイル作成や表示コマンドにより、EC2からS3バケット操作を実行出来ることを確認します。

操作例
# ディレクトリの作成
mkdir /mnt/s3/testdir

# ファイルのコピー
cp /mnt/s3/index.html /mnt/s3/testdir/

# ファイルの移動
mv /mnt/s3/test.txt /mnt/s3/testdir/

# ファイル内容の確認
ls -la /mnt/s3/testdir/

# ファイル作成のテスト
echo "test" > /mnt/s3/test.txt

# ファイルの読み取りテスト
cat /mnt/s3/test.txt

2.マネジメントコンソール上で実行したファイル操作を確認します。
スクリーンショット 2024-12-27 13.55.56.png

おわりに

Mountpoint for Amazon S3を使用することで、EC2インスタンスからS3バケットをローカルファイルシステムのように操作できることを確認しました。AWS CLIを使わずとも標準的なLinuxコマンドによりS3操作が実行でき、活用したい機能だと感じました。ご覧いただきありがとうございました。

参考資料

https://github.com/awslabs/mountpoint-s3

Mountpoint for Amazon S3 の使用 - Amazon Simple Storage Service

アノテーション株式会社について

アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.